#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <pthread.h>

int main(int argc, char *argv[])
{
    printf("before fork--------\n");

    int idx;

    for (idx = 0; idx < 5; idx++)
    {
        if (fork() == 0)
        {
            break;// 循环期间，子进程不fork
        }
    }
    if (idx == 5)// 父进程，从表达式2跳出
    {
        sleep(5);
        printf("i am parent \n");       
    }
    else// 子进程，从break跳出
    {
        sleep(idx);
        printf("i am %dth child \n", idx + 1);
    }



    return 0;
}